#leetcode题目26：删除排序数组中的重复项
#难度：简单
#时间复杂度：O(n)
#空间复杂度：O(1)
#方法：双指针


#特别要求：请注意不要使用额外的空间，你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

from typing import List
class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        if not nums:
            return 0
        count=1
        for i in range(len(nums)):
            if nums[count]!=nums[i]:
                count+=1
                nums[count]=nums[i]
        return count

#测试数据
nums=[1,1,2]
#预期输出：2,
solution=Solution()
print(solution.removeDuplicates(nums))

nums=[0,0,1,1,1,2,2,3,3,4]
#预期输出：5表示是长度，[0,1,2,3,4]表示是去重后的数组
solution=Solution()
print(solution.removeDuplicates(nums))


